package org.code.boot.domain.boot;

import java.math.BigDecimal;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;
import org.code.boot.domain.BaseEntity;

/**
 * 火车座位配置对象 biz_train_seat_config
 * 
 * @author coder
 * @date 2025-08-28
 */
public class BizTrainSeatConfig extends BaseEntity
{
    private static final long serialVersionUID = 1L;

    /** 座位配置ID */
    private Long seatConfigId;

    /** 火车ID */
    private Long trainId;

    /** 座位等级 */
    private String seatClass;

    /** 座位等级名称 */
    private String seatClassName;

    /** 起始车厢号 */
    private Integer carriageStart;

    /** 结束车厢号 */
    private Integer carriageEnd;

    /** 每车厢座位数 */
    private Integer seatsPerCarriage;

    /** 票价 */
    private BigDecimal price;

    /** 可售座位数 */
    private Integer availableSeats;

    public void setSeatConfigId(Long seatConfigId) 
    {
        this.seatConfigId = seatConfigId;
    }

    public Long getSeatConfigId() 
    {
        return seatConfigId;
    }

    public void setTrainId(Long trainId) 
    {
        this.trainId = trainId;
    }

    public Long getTrainId() 
    {
        return trainId;
    }

    public void setSeatClass(String seatClass) 
    {
        this.seatClass = seatClass;
    }

    public String getSeatClass() 
    {
        return seatClass;
    }

    public void setSeatClassName(String seatClassName) 
    {
        this.seatClassName = seatClassName;
    }

    public String getSeatClassName() 
    {
        return seatClassName;
    }

    public void setCarriageStart(Integer carriageStart) 
    {
        this.carriageStart = carriageStart;
    }

    public Integer getCarriageStart() 
    {
        return carriageStart;
    }

    public void setCarriageEnd(Integer carriageEnd) 
    {
        this.carriageEnd = carriageEnd;
    }

    public Integer getCarriageEnd() 
    {
        return carriageEnd;
    }

    public void setSeatsPerCarriage(Integer seatsPerCarriage) 
    {
        this.seatsPerCarriage = seatsPerCarriage;
    }

    public Integer getSeatsPerCarriage() 
    {
        return seatsPerCarriage;
    }

    public void setPrice(BigDecimal price) 
    {
        this.price = price;
    }

    public BigDecimal getPrice() 
    {
        return price;
    }

    public void setAvailableSeats(Integer availableSeats) 
    {
        this.availableSeats = availableSeats;
    }

    public Integer getAvailableSeats() 
    {
        return availableSeats;
    }

    @Override
    public String toString() {
        return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
            .append("seatConfigId", getSeatConfigId())
            .append("trainId", getTrainId())
            .append("seatClass", getSeatClass())
            .append("seatClassName", getSeatClassName())
            .append("carriageStart", getCarriageStart())
            .append("carriageEnd", getCarriageEnd())
            .append("seatsPerCarriage", getSeatsPerCarriage())
            .append("price", getPrice())
            .append("availableSeats", getAvailableSeats())
            .append("createBy", getCreateBy())
            .append("createTime", getCreateTime())
            .append("updateBy", getUpdateBy())
            .append("updateTime", getUpdateTime())
            .toString();
    }
}